/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.client.assembler.output;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

import fr.generali.accueilclient.client.om.ICharte;
import fr.generali.accueilclient.client.om.impl.Charte;
import fr.generali.refservcommuns.rce.demat.servperscom.dct.gestiondocuments.DtoCharteAccompagnement;

/**
 * Transforme un {@link DtoCharteAccompagnement} en {@link ICharte}
 * 
 * @author selrhazala
 */
@Component("dtoCharteAccompagnement2CharteConverter")
public class DtoCharteAccompagnement2CharteConverter implements Converter<DtoCharteAccompagnement, ICharte> {

    /**
     * LOGGER
     */
    private static final Logger LOGGER = LoggerFactory.getLogger(DtoCharteAccompagnement2CharteConverter.class);

    /**
     * {@inheritDoc}
     */
    public ICharte convert(DtoCharteAccompagnement input) {
        LOGGER.info("assemble");
        ICharte charte = null;
        if (input != null) {

            charte = new Charte();

            if (input.getIdentifiant() != null) {

                charte.setId(input.getIdentifiant());
            }

            charte.setType(input.getTypeCharteAccompagnement());
            charte.setEcheanceBilan(input.getEcheanceBilan());
            charte.setDateAdhesion(input.getDateAdhesion().toGregorianCalendar().getTime());
            
            if (input.getDateModification() != null) {
                charte.setDateModification(input.getDateModification().toGregorianCalendar().getTime());
            }
            charte.setDestinataire(input.getDestinataire());
        }

        return charte;
    }
}
